/**********************************************************************************
// Font Header File
//
// Creation:	28 Apr 2011
// Updated:		28 Apr 2011
// Compiler:	Visual Studio 2010
//
// Notes:		The Font class makes use of LPD3DXFONT to create fonts 
//				and draw text on screen.
//
**********************************************************************************/

#ifndef _ANABELE_FONT_H_
#define _ANABELE_FONT_H_

/**********************************************************************************/
// make classes and functions exportable to a DLL
#ifdef ANABELE_EXPORTS
#define DLL __declspec( dllexport ) 
#else
#define DLL __declspec( dllimport )
#endif

/**********************************************************************************/
// Includes
#include <d3dx9.h>			// include Direct3D extensions
#include "Types.h"			// include engine custom types
#include "Color.h"			// include engine Color type

/**********************************************************************************/

class DLL Font
{
private:
	LPD3DXFONT font;						
	
public:
	Font(char * fontname, int fontsize);	// Font Constructor
	~Font();								// Font Destructor

	void Draw(								// Draw text on screen
		int x,								// text box x position
		int y,								// text box y position
		char * text,						// string to draw
		Color color = Color(255,255,255),	// text color defaults to white
		uint width = 0,						// text box width
		uint height = 0,					// text box height
		uint alignment = DT_WORDBREAK,		// alignement defaults to left and word break 
		float rotation = 0);				// text rotation in degrees
};

/**********************************************************************************/

#endif